package ucla.axelia.vista;

import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import ucla.axelia.controlador.interfaces.IServicioAdministracionVoluntario;
import ucla.axelia.modelo.data.HorarioVoluntario;
import ucla.axelia.modelo.data.Voluntario;
import ucla.axelia.vista.componentes.ComponenteHorario;
import ucla.axelia.vista.componentes.beans.CeldaComponenteHorario;
import nextapp.echo2.app.ContentPane;

import com.obelisco.vista.componentes.ComponenteDatosListener;
import com.obelisco.vista.componentes.TipoFuncion;

public class PaneVoluntariosHorario extends ContentPane implements ComponenteDatosListener {

	private Voluntario voluntario;
	private IServicioAdministracionVoluntario servicioAdministracionVoluntario;
		
	private ComponenteHorario horarioDisponibilidadVoluntario;
		
	
	public PaneVoluntariosHorario() {
		   super();		   
	}
			
	public void onCancelar() {
		// TODO Auto-generated method stub
		
	}

	public void onConfirmarCambios(Object arg0, TipoFuncion arg1, String arg2) {
		// GUARDAR HORARIOS
		Set horarios = new HashSet();
		List<CeldaComponenteHorario> horariosDisponibilidad = this.horarioDisponibilidadVoluntario.getHorario();
		for (Iterator iter1=horariosDisponibilidad.iterator(); iter1.hasNext(); ) {
			CeldaComponenteHorario celdaComponenteHorario = (CeldaComponenteHorario)iter1.next();
			HorarioVoluntario horarioVoluntario = new HorarioVoluntario();
			horarioVoluntario.setDiasemana(celdaComponenteHorario.getDiasemana());
			horarioVoluntario.setTurno(celdaComponenteHorario.getTurno());
			horarioVoluntario.setVoluntario(this.voluntario);					
			horarios.add(horarioVoluntario);
		}
		this.voluntario.setHorarioVoluntarios(horarios);
	}

	public void onConfirmarEliminacion(Object arg0) {
		// TODO Auto-generated method stub
		
	}

	public void onConsultar(Object arg0) {
		// TODO Auto-generated method stub
		this.onModificar(arg0);
		this.setEnabled(false);
	}

	public void onCrear() {
		// TODO Auto-generated method stub
		
	}

	public void onFuncionPersonalizada(Object arg0, TipoFuncion arg1, String arg2) {
		// TODO Auto-generated method stub
		
	}

	public void onIncluir(Object arg0) {
		// TODO Autogenerated method stub
		
	}

	public void onInicializar() {
		// TODO Auto-generated method stub
		this.removeAll();
		this.setEnabled(true);
		this.horarioDisponibilidadVoluntario.inicializar();
		this.add(this.horarioDisponibilidadVoluntario);
	}

	public void onModificar(Object arg0) {
		// TODO Auto-generated method stub
		this.horarioDisponibilidadVoluntario.setHorario(voluntario.getHorarioVoluntarios());
	}

	public void onObjetoEntidad(Object arg0) {
		// TODO Auto-generated method stub
		this.voluntario = (Voluntario) arg0;		
	}

	public boolean onValidarDatos(Object arg0, TipoFuncion arg1, String arg2) {
		// TODO Auto-generated method stub
		return true;
	}

	public void onListaParametros(List listaParametros) {
		// TODO Auto-generated method stub
		
	}

	
	// Getter y Setter
	public IServicioAdministracionVoluntario getServicioAdministracionVoluntario() {
		return servicioAdministracionVoluntario;
	}

	public void setServicioAdministracionVoluntario(
			IServicioAdministracionVoluntario servicioAdministracionVoluntario) {
		this.servicioAdministracionVoluntario = servicioAdministracionVoluntario;
	}

	public ComponenteHorario getHorarioDisponibilidadVoluntario() {
		return horarioDisponibilidadVoluntario;
	}

	public void setHorarioDisponibilidadVoluntario(
			ComponenteHorario horarioDisponibilidadVoluntario) {
		this.horarioDisponibilidadVoluntario = horarioDisponibilidadVoluntario;
	}

}